package com.c2b.algorithm.leetcode.base;

/**
 * 3的幂
 * <p>给定一个整数，写一个函数来判断它是否是 3 的幂次方。如果是，返回 true ；否则，返回 false 。</p>
 *
 * @author c2b
 * @since 2022/5/19 13:46
 */
public class LC0326 {

    /**
     * 判断整数n是否是3的幂
     *
     * @param n 整数n
     * @return boolean 如果是，返回 true ；否则，返回 false
     * @author c2b
     * @since 2022/5/19 13:47
     */
    public boolean isPowerOfThree(int n) {
        // 试除法:如果是3的倍数
        while (n != 0 && n % 3 == 0) {
            n /= 3;
        }
        return n == 1;
    }

    public static void main(String[] args) {
        for (int i = 0; i < 10000; i++) {
            if (new LC0326().isPowerOfThree(i)) {
                System.out.println(i);
            }
        }
    }
}
